package cn.yuanqiao.archive.statistics.mapper;

import cn.yuanqiao.archive.statistics.domain.YearReport;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 年报统计Mapper接口
 * 
 * @author xy
 * @date 2023-07-28
 */
@Mapper
public interface YearReportMapper {
    /**
     * 查询年报统计
     *
     * @param id 年报统计主键
     * @return 年报统计
     */
    public YearReport selectYearReportById(Long id);

    /**
     * 查询年报统计列表
     *
     * @param yearReport 年报统计
     * @return 年报统计集合
     */
    public List<YearReport> selectYearReportList(YearReport yearReport);

    /**
     * 新增年报统计
     *
     * @param yearReport 年报统计
     * @return 结果
     */
    public int insertYearReport(YearReport yearReport);

    /**
     * 修改年报统计
     *
     * @param yearReport 年报统计
     * @return 结果
     */
    public int updateYearReport(YearReport yearReport);

    /**
     * 删除年报统计
     *
     * @param id 年报统计主键
     * @return 结果
     */
    public int deleteYearReportById(Long id);

    /**
     * 批量删除年报统计
     *
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteYearReportByIds(Long[] ids);

    public void deleteYearReport(YearReport yearReport);

    YearReport selectYearReportByYear(@Param("year") String year, @Param("tableName") String tableName, @Param("type") String type);

    Long getJuanCount(@Param("year") String year, @Param("bgqx") String bgqx, @Param("code") String code, @Param("treeId") String treeId);

    Long getJianCount(@Param("year") String year, @Param("bgqx") String bgqx, @Param("code") String code, @Param("treeId") String treeId);

    Long getDocumentCount(@Param("year") String year, @Param("bgqx") String bgqx, @Param("code") String code, @Param("efileTableName") String efileTableName, @Param("fileTableName") String fileTableName);

    Long getYSCount(@Param("year") String year, @Param("bgqx") String bgqx, @Param("code") String code, @Param("treeId") String treeId);
}

